1. Technical Field
The present invention relates to the area of Workflow-Management-System (WFMS). More particularly, the invention relates to means for providing improved database support in a Workflow-Management-System (WFMS).
2. Prior Art
A new area of technology with increasing importance is the domain of Workflow-Management-Systems (WFMSs). WFMSs support the modeling and execution of business processes. Business processes control which piece of work of a network of pieces of work will be performed by whom and which resources are exploited for this work, i.e. a business process describes how an enterprise will achieve its business goals. The individual pieces of work might be distributed across a multitude of different computer systems connected by some type of network.
The process of designing, developing and manufacturing a new product and the process of changing or adapting an existing product presents many challenges to product managers and engineers to bring the product to market for the least cost and within schedule while maintaining or even increasing product quality. Many companies are realizing that the conventional product design process is not satisfactory to meet these needs. They require early involvement of manufacturing engineering, cost engineering, logistic planning, procurement, manufacturing, service and support with the design effort. Furthermore, they require planning and control of product data through design, release, and manufacturing.
The correct and efficient execution of business processes within a company, e.g. development of production processes, is of enormous importance for a company and has significant influence on company""s overall success in the market place. Therefore, those processes have to be regarded similar as technology processes and have to be tested, optimized and monitored. The management of such processes is usually performed and supported by a computer based process or workflow management system.
In D. J. Spoon: xe2x80x9cProject Management Environmentxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 32, No. 9A, February 1990, pages 250 to 254, a process management environment is described including an operating environment, data elements, and application functions and processes.
In R. T. Marshak: xe2x80x9cIBM""s FlowMark, Object-Oriented Workflow for Mission-Critical Applicationsxe2x80x9d, Workgroup Computing Report (USA), Vol. 17, No. 5, 1994, page 3 to 13, the object character of IBM FlowMark as a client/server product built on a true object model that is targeted for mission-critical production process application development and deployment is described.
In H. A. Inniss and J. H. Sheridan: xe2x80x9cWorkflow Management Based on an Object-Oriented Paradigmxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 37, No. 3, March 1994, page 185, other aspects of object-oriented modeling on customization and changes are described.
In F. Leymann and D. Roller: xe2x80x9cBusiness Process Management with FlowMarkxe2x80x9d, Digest of papers, Cat. No. 94CH3414-0, Spring COMPCON 94, 1994, pages 230 to 234, the state-of-the-art computer process management tool IBM FlowMark is described. The meta model of IBM FlowMark is presented as well as the implementation of IBM FlowMark. The possibilities of IBM FlowMark for modeling of business processes as well as their execution are discussed. The product IBM FlowMark is available for different computer platforms and documentation for IBM FlowMark is available in every IBM branch.
In F. Leymann: xe2x80x9cA meta model to support the modeling and execution of processesxe2x80x9d, Proceedings of the 11th European Meeting on Cybernetics and System Research EMCR92, Vienna, Austria, Apr. 21 to 24, 1992, World Scientific 1992, pages 287 to 294, a meta model for controlling business processes is presented and discussed in detail.
The xe2x80x9cIBM FlowMark for OS/2xe2x80x9d, document number GH 19-8215-01, IBM Corporation, 1994, available in every IBM sales office, represents a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities; refer for instance to xe2x80x9cModeling Workflowxe2x80x9d, document number SH 19-8241, IBM Corporation, 1996. As further information on Workflow Management Systems available in IBM sales offices one could mention: IBM MQSeries Concepts and Architecture, document number GH 12-6285; IBM MQseries Getting Started with Buildtime, document number SH 12-6286; IBM MQSeries Getting Started with Runtime, document number SH 12-6287. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities or workitems which are performed. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via the IBM FlowMark Definition Language (FDL) or the built-in graphical editor. The runtime component of the workflow manager interprets the process graph and distributes the execution of activities to the right person at the right place, e.g. by assigning tasks to a work list according to the respective person, wherein said work list is stored as digital data within said workflow or process management computer system.
In F. Leymann and W. Altenhuber: xe2x80x9cManaging business processes as an information resourcexe2x80x9d, IBM Systems Journal, Vol. 32(2), 1994, the mathematical theory underlying the IBM FlowMark product is described.
In D. Roller: xe2x80x9cVerifikation von Workflows in IBM FlowMarkxe2x80x9d, in J. Becker und G. Vossen (Hrsg.): xe2x80x9cGeschaeftsprozessmodellierung und Workflowsxe2x80x9d, International Thompson Publishing, 1995, the requirement and possibility of the verification of workflows is described. Furthermore, the feature of graphical animation for verification of the process logic is presented as it is implemented within the IBM FlowMark product.
For implementing a computer based process management system, firstly the business processes have to be analyzed and, as the result of this analysis, a process model has to be constructed as a network of activities corresponding to the business process. In the IBM FlowMark product, the process models are not transformed into an executable. At run time, an instance of the process is created from the process model, called a process instance. This process instance is then interpreted dynamically by the IBM FlowMark product.
A user typically interacts with the workflow management system via a graphical end user that represents the tasks to be performed by the user as icons. Work for a particular task is started by the user by double-clicking on the appropriate icon which in turn starts the program implementing the activity.
Another area of technology is the technology of database management. Most workflow systems use a relational database to manage build-time information, like their process models, or run-time information, like the state of business processes. WFMSs do increase significantly in complexity and managed data: more and more business processes are being implemented within WFMSs resulting in significant larger numbers of process models to be handled by WFMSs; also the number of cooperating WFMSs, i.e. to the degree of distribution, is undergoing a dramatic increase; etc. To cope with this new challenges the interoperation of the WFMS and the underlying database management system (DBMS) have to be improved. Specific issues are the issues of concurrency, parallelism and availability.
Techniques, such as hotpooling and application server clustering, have been proposed to improve performance and availability. However, no approach has yet been proposed to improve via the interoperation of the WFMSs and the underlying data base management systems (DBMS). Moreover, the state of the art WFMSs are unable t reduce the conflict between the distributed approach of these WFMSs themselves and the central approach of the DBMS. This conflict even becomes more serious with increasing database sizes.
The present invention is based on the objective to improve the interoperation of WFMSs and the underlying DBMS.
The invention relates to means for defining a portion of the system-repository of a Workflow-Management-System (WFMS) or a system with comparable functionality to be maintained in a database by a Database-Management-System (DBMS). The WFMS comprises one or a multitude of WFMS instances executing on one or a multitude of computer systems. The WFMS comprises at least one process-model. The current teaching suggests defining said portion of said system-repository to be maintained in a parallel database. Moreover it is suggested that the definition-means for doing so is comprised in said WFMS""s configuration specifications as for instance in said process-model.
The introduction of parallel database technology within workflow management systems allows the latter to cope with the increasing requirements and expectations. Storing portions of this system repository in parallel databases leads to significant improvements with respect to parallelism, concurrency and availability. Parallel databases allow to work on part of the data at a time, cutting the time required for the operation to a manageable size. Partitioned tables allow a program to work on part of the data at a time, while allowing concurrent access to other programs on other partitions. It becomes possible to put more frequently accessed data on faster devices. More frequently accessed data can be separated from the remainder and can be put in a partition of its own and can use different device type. A single query to a partitioned database can initiate multiple parallel operations. These smaller queries run simultaneously on multiple processors accessing data in parallel. This reduces the elapsed time for a query.
As the definition means are incorporated in the process model very high selectivity is achieved. On the basis of individual process models and on the basis of individual tables the current teaching allows to define whether to parallelize the system repository tables or not.
Especially introduction of inter-partition-parallel-relational-database technology, as introduced according to a further embodiment of the current invention, offers the greatest advantages with respect to parallelism, concurrency and availability. This type of parallel database technology allows for an optimal utilization of parallel processors. In addition it can be easily combined with all other types of parallel processing approaches like multi-tasking and intra-parallel database technology.
According to a further embodiment of the current invention said portion of said system-repository comprises at least one table with a sequence of attributes, said table maintaining one or more records with a sequences of attribute-values. In this environment said definition-means comprise first definition-means for specifying at least one of said attributes as partitioning-key of said table, used by said DBMS to maintain said record in a partition identified by the attribute-value of said partitioning-key for parallel database access. In addition or instead said definition-means comprise second definition-means for specifying at least one additional attribute as partitioning-key of said table.
Based on this additional feature it becomes possible to exploit an already existing table attribute as partitioning key or to introduce an additional attribute for partitioning purposes.
Further advantages are achieved by using the system identification of WFMSs instances as partitioning-key or by using te creation time of said record as partitioning-key.
These attributes result in ideal partitioning keys as the same WFMS system identification or similar time values indicate an inherent relationship between the entries allowing to separate independent activities with respect to database access resulting in optimal parallelism.
According to a further embodiment of the current invention it is suggested to specifying a partitioning-key for one or more tables comprising said process-model and/or for one or more tables comprising execution instances of said process-model and/or for one or more tables comprising an audit-trail of said process-model and/or for one or more tables comprising the workitems related to execution instances of said process-model.
All of these tables are targets of very intensive accesses. Therefore parallelized access capabilities with respect to these tables increase the benefits of the current invention.
The present invention further relates to a Workflow-Management-System (WFMS) or a system with comparable functionality maintaining a portion of the system-repository of said WFMS in a database by a Database-Management-System (DBMS). According to the invention said WFMS comprises one or a multitude of WFMS instances on one or a multitude of computer systems. Said WFMS comprises at least one process-model and maintains said portion of said system-repository in a parallel database.
The advantages mentioned above do apply to this further embodiment as well.